package com.bana.fvs.protocol;

import com.bana.fvs.model.FogArea;

public class NoticeWeatherStatus0E {
    public int getId()
    {
        return 0x0E;
    }

    public FogArea toModel(byte[] buffer) {

        FogArea weather=new FogArea();
        weather.setJcybsm(buffer[1]);

        byte[] ascBuffer=new byte[buffer.length-4];
        System.arraycopy(buffer,3,ascBuffer,0,ascBuffer.length);

        String s=new String(ascBuffer);
        String[] datas=s.split(",");
        if(datas.length>=10)
        {
            String fx="-";
            if(!datas[1].startsWith("/"))
            {
                int value=Integer.parseInt(datas[1]);
                if(value>=0&&value<=10||value>=350&&value<=360)
                {
                    fx=String.format("北风 %s",value);
                }
                else if(value>10&&value<80)
                {
                    fx=String.format("东北风 %s",value);
                }
                else if(value>=80&&value<=100)
                {
                    fx=String.format("东风 %s",value);
                }
                else if(value>100&&value<170)
                {
                    fx=String.format("东南风 %s",value);
                }
                else if(value>=170&&value<=190)
                {
                    fx=String.format("南风 %s",value);
                }
                else if(value>190&&value<260)
                {
                    fx=String.format("西南风 %s",value);
                }
                else if(value>=260&&value<=280)
                {
                    fx=String.format("西风 %s",value);
                }
                else if(value>280&&value<350)
                {
                    fx=String.format("西北风 %s",value);
                }
            }
            weather.setFx(fx);
            weather.setFs(datas[2].startsWith("/")?"-":datas[2]);
            weather.setWd(datas[3].startsWith("/")?"-":datas[3]);
            weather.setSd(datas[4].startsWith("/")?"-":datas[4]);
            if(!datas[5].startsWith("/"))
            {
                weather.setQy(String.format("%.2f",Double.parseDouble(datas[5])/10.0));
            }
            else
            {
                weather.setQy("-");
            }
            weather.setYl(datas[8].startsWith("/")?"-":datas[8]);
        }
        return weather;
    }
}
